// require.context是webpack的API(接收三个参数);
// 第一个参数：选择组件文件的路径
// 第二个参数：是否可以选择子文件
// 第三个参数：匹配以什么结尾的文件
const requireComponent = require.context('./', true, /\.vue$/);
// console.log(requireComponent.keys());//返回所有包含在./当前目录下的所有以.vue结尾的文件并以数组的形式返回;
const install = (Vue) => {
    if (install.installed) return;
    install.installed;

    requireComponent.keys().forEach(fileName => {
        //执行requireComponent()匹配对应的文件信息;
        const config = requireComponent(fileName);
        // console.log(config); //default: {name: "vue-msg", staticRenderFns: Array(0), _compiled: true, beforeCreate: A...
        const componentName = config.default.name;
        Vue.component(componentName, config.default || config);
    })

    // 如果有需要 这边可以继续配置自定义的指令
}

if (typeof window !== 'undefined' && window.Vue) {
    install(window.Vue);
}

export default { install }